package bancodedados;

import java.sql.ResultSet;
import java.sql.SQLException;

import cliente.Cliente;
import exceptions.UsuarioInexistente;

public class ClienteResultSetDataFetcher extends ResultSetDataFetcher<Cliente> {
	private static final String TABLENAME		= "cliente";
	private static final String ID				= "id";
	private static final String NOME			= "nome";
	private static final String ENDERECO		= "endereco";
	private static final String TELEFONE		= "telefone";
	private static final String INTERESSES		= "interesses";
	private static final String RENDA			= "renda";
	private static final String PERFIL_MEDICO	= "perfil_medico";

	private String nome;
	
	public ClienteResultSetDataFetcher(String nome){
		this.nome = nome;
	}
	
	@Override
	public void fetchDataFromResultSet(ResultSet resultSet) throws SQLException, UsuarioInexistente {
		while (resultSet.next()) {
			Cliente cliente = new Cliente(
						resultSet.getString(NOME).trim(),
						resultSet.getString(TELEFONE).trim(),
						resultSet.getString(ENDERECO),
						resultSet.getDouble(RENDA)
					);
			results.add(cliente);
		}
	}
	
	@Override
	public String getSelectionString() {
		return 	SELECT + " \"" + ID + "\", \"" + NOME + "\", \"" + TELEFONE + "\", \"" + ENDERECO + "\", \"" + RENDA +  "\", " +
						"\"" + INTERESSES +  "\", \"" + PERFIL_MEDICO + "\" " +
				FROM + " \"" + TABLENAME + "\" " +
				WHERE + " \"" + NOME    + "\" like '%" + this.nome.trim() + "%'";
	}
	
}
